"""
元组详解
    概述：
        元组（Tuple） 是一种 不可变（immutable） 的有序序列，用 圆括号 () 表示，
        元素之间用逗号分隔。元组和列表（List）类似，但元组创建后不能修改（不能增删改元素）。


        元组也属于容器的一种，属于不可变容器
        元组也可以存储多个元素，可以是不同数据类型的，但是在实际开发过程中，建议存储相同数据类型的多个值
    特点：
        元组和列表的区别：
            列表是用中括号来标识的，列表的元素可以被修改     可变的
            元组是用小括号来标识的，而且元组的元素不能被修改  不可变的
    元组定义：
        格式一： t1 = (值1,值2,值3...)
        格式二:  t2 = tuple()
    列表定义
        格式一： list1 = [值1,值2,值3...]
        格式二:  list2 = list()

    细节：
        1. 元组属于不可变类型，其元素值不可以被修改
        2. 元组和列表一样，也是有索引的概念的。
        3. 定义元素的时候，如果只有一个值，且该值的末尾必须要加逗号，否则这个变量就是个普通的变量（不是元组）
"""
# 1. 定义元组
tuple1 = (1,10,12.3,True,'聂茹凤')
tuple2 = tuple()
tuple3 = (10,) # tuple

# 笔试题

tuple4 = (10)  # int 没有逗号
tuple5 = 10 # int
tuple6 = 10, # tuple  有逗号，没有() 但是依然是元组
tuple7 = 10,11 # tuple
a,b = 10,11 # int

print(tuple1,type(tuple1))
print(tuple2,type(tuple2))
print(tuple3,type(tuple3))
print(tuple4,type(tuple4))
print(tuple5,type(tuple5))
print(tuple6,type(tuple6))
print(tuple7,type(tuple7))

print(a,type(a))
print(b,type(b))

print("=" * 30)
t = ('a','b','c','d','e')





print(t[1]) # b
# t[1] = '聂茹凤' # 报错，元组不可变，不能被修改


# 遍历方式一
# for item in t:
#     print(item)

# 遍历方式二
# for i in range(len(t)):
#     print(t[i])

